package com.ts.api.module.api.service;

import com.gitee.apanlh.web.model.vo.RequestVO;
import com.ts.api.module.api.convert.core.annotation.ApiChannelMarketConvertType;
import com.ts.api.module.channel.entity.po.ChannelPO;

import java.util.Map;

/**
 *  H5Uv撞库产品
 *
 *  @author Pan
 */
public interface ApiChannelMarketService {

    /**
     *  手机号md5检测
     *
     *  @param  channelPO    H5渠道客户端实体
     *  @param  requestVO    请求实体
     *  @return Map
     */
    Map<String, Object> existUserByMd5(ChannelPO channelPO, RequestVO requestVO);

    /**
     *  手机号前n位掩码检测(18901021***)
     *
     *  @param  channelPO                   H5渠道客户端实体
     *  @param  requestVO                   请求实体
     *  @param  matchSize                   匹配长度
     *  @param  apiChannelMarketConvertType    产品对接模式
     *  @return Map
     */
    Map<String, Object> existUserPhoneMask(ChannelPO channelPO, RequestVO requestVO, int matchSize, ApiChannelMarketConvertType apiChannelMarketConvertType);

    /**
     *  用户资质撞库
     *
     *  @param  channelPO    H5渠道客户端实体
     *  @param  requestVO    请求实体
     *  @return Map
     */
    Map<String, Object> existUserForm(ChannelPO channelPO, RequestVO requestVO);

    /**
     *  联登手机号
     *
     *  @param  channelPO    H5渠道客户端实体
     *  @param  requestVO    请求实体
     *  @return Map
     */
    Map<String, Object> federateLogin(ChannelPO channelPO, RequestVO requestVO);

    /**
     *  联登资质表单
     *
     *  @param  channelPO    H5渠道客户端实体
     *  @param  requestVO    请求实体
     *  @return Map
     */
    Map<String, Object> federateUserForm(ChannelPO channelPO, RequestVO requestVO);
}
